// 此vm参数为页面的实例，可以通过它引用vuex中的变量
module.exports = (vm) => {
	// 初始化请求配置
	uni.$u.http.setConfig((config) => {
		/* config 为默认全局配置*/

		// config.baseURL = 'http://localhost:8080/renren-fast'; /* 根域名 */

		// config.baseURL = 'https://swettyssssss.top/renren-fast/'; /* 手机调试*/

		// config.baseURL = 'http://192.168.0.109:8080/renren-fast'; /* 手机调试*/
		config.baseURL = 'http://localhost:8080/renren-fast'; /* 手机调试*/

		// config.baseURL = 'http://192.168.0.8:8080/renren-fast'; /* 手机调试*/




		return config
	})

	// 请求拦截
	uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作

		if (uni.getStorageSync('token')) {
			config.header.token = uni.getStorageSync('token');
		}

		return config
	})

	// 响应拦截
	uni.$u.http.interceptors.response.use((res) => {
		/* 对响应成功做点什么 可使用async await 做异步操作*/

		if (res.data.code == 0) {
			// res为服务端返回值，可能有code，result等字段
			// 这里对res.result进行返回，将会在this.$u.post(url).then(res => {})的then回调中的res的到
			// 如果配置了originalData为true，请留意这里的返回值
			return res.data;
		} else if (res.data.code == 401) {
			vm.$u.toast('验证失败，请重新登录');
			setTimeout(() => {
				// 此为uView的方法，详见路由相关文档
				vm.$u.route('/pages/user/login/login')
			}, 1500)
			return;
		} else if (res.data.code == 405) {
			vm.$u.toast('已在其他设备登录');
			setTimeout(() => {
				// 此为uView的方法，详见路由相关文档
				vm.$u.route('/pages/user/login/login')
			}, 1500)
			return;
		} else if (res.data.code == 500) {
			console.log(res.data);
			vm.$u.toast(res.data.msg);
			return;
		} 
		else if (res.data.code == -1) {
			vm.$u.toast('程序出现出现异常');
			return;
		} 
		else {
			return res.data;
		}

	}, (response) => {
		// 对响应错误做点什么 （statusCode !== 200）
		return Promise.reject(response)
	})
}
